Wolf - Bug Hunter for Concurrent Software Using Formal Methods
نویسندگان
چکیده
Wolf is a “push-button” model checker for concurrent C programs developed in IBM Haifa. It automatically generates both the model and the specification directly from the C code. Currently, Wolf uses BDD-based symbolic methods integrated with a guided search framework. According to our experiments, these methods complement explicit exploration methods of software model checking.
منابع مشابه
Reachability checking in complex and concurrent software systems using intelligent search methods
Software system verification is an efficient technique for ensuring the correctness of a software product, especially in safety-critical systems in which a small bug may have disastrous consequences. The goal of software verification is to ensure that the product fulfills the requirements. Studies show that the cost of finding and fixing errors in design time is less than finding and fixing the...
متن کاملScalable Automated Methods for Dynamic Program Analysis
Testing using manually generated test cases is the primary technique used in industry to improve reliability of software—in fact, such ad hoc testing accounts for over half of the typical cost of software development. We propose new methods for systematically and automatically testing sequential and concurrent programs. The methods are based on three new techniques: concolic testing, race-detec...
متن کاملMonica Marcus 1 Motivation
Formal methods are broadly concerned with applying mathematically rigorous methods in all stages of development of computer-based systems (hardware or software), from specification to design, to implementation and subsequent maintenance. The goal of formal verification is to expose as many errors as possible, while checking whether, or proving that the implementation conforms to the specificati...
متن کاملCertifying the Concurrent State Table Implementation in a Surgical Robotic System (Extended Version)
This paper describes the application of formal methods to the reduction of defects in software used to control a surgical robot. We use a recently developed program logic called History for Local Rely/Guarantee (HLRG) to verify that the software implementation behaves according to the intended design. HLRG enables precise description of a system’s functionality, its desired behavior, and facili...
متن کاملStatic code analysis in multi-threaded environments
Who can understand his errors? Cleanse thou me from secret faults. Preface The notion that software might contain errors dates back to the famous annotations of Lady Ada Lovelace to the description of the Analytical Engine designed by Charles Babbage[36] where she states: " Granted that the actual mechanism [of the Analytic Engine] is unerring in its processes, the cards may give it wrong order...
متن کامل